﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathLib;
using TrackingSim.GameSystem;
using TrackingSim.Filtering.Tracks;

namespace TrackingSim.Filtering.Measurements
{
    public abstract class Measurement : IVisitable
    {
        double time;

        protected Measurement(double _time)
        {
            time = _time;
        }

        public virtual Measurement clone()
        {
            return null;
        }

        public double Time
        {
            get { return time; }
            set { time = value; }
        }

        public virtual void accept (IVisitor visitor, Player p)
        {
        }

        public abstract Matrix get_r();

        public abstract Matrix get_z();
        
        public abstract Vector get_delta_body();
    }
}
